跳到主要内容

配置故障日志采集

最后 更新

APO-OneAgent 默认开启故障日志以及全量日志采集,本文档用于配置 APO-OneAgent 的采集故障发生时间段的日志。产品基于 ilogtail 进行二次开发采集了应用产生的日志。

Kubernetes 环境中故障现场日志采集配置

使用《Kubernetes 安装 OneAgent》用户使用本章节配置故障现场日志采集。

  1. 修改名称为apo-ilogtail-user-config的ConfigMap, 添加新的配置文件<your-file-name>.yaml
  2. 参考章节中的配置模版,将内容保存至<your-file-name>.yaml
  3. 重启 OneAgent

1. 采集 Kubernetes 标准输出配置文件模版

OneAgent 默认开启 Kubernetes 标准输出采集,没有额外需求,无需手动配置本模版。

容器标准输出使用 service_docker_stdout 插件,参考文档

enable: true
inputs:
- Type: service_docker_stdout
# k8s 标签过滤
ExcludeK8sLabel:
app.kubernetes.io/instance: apo
BeginLineCheckLength: 10
BeginLineRegex: "\\d+.*"
processors:
- Type: processor_log_to_prom_metric
PromPort: ":9499"
- Type: processor_wait_for_signal
ContentsRename:
"__tag__:_container_id_": "_container_id_"
"__tag__:__path__": "_source_"
flushers:
- Type: flusher_otlp
Logs:
# 服务端 vector 接收日志, 替换为真实服务端地址
Endpoint: apo-otel-collector-gateway-svc:4315

2. 采集 Kubernetes 容器内日志文件配置文件模版

采集文本日志使用 file_log 插件,参考文档

注意

  1. 采集容器内容日志文件时,不支持采集挂载 PV 的日志文件
  2. 指定日志目录被监控的最大深度尽量不要过大,否则会超出 ilogtail 监控的文件数量,导致采集失败。可针对不同采集路径,添加不同的配置文件流水线。
enable: true
inputs:
# 文本日志采集插件,根据需要自行调整
- Type: file_log
# 日志目录路径
LogPath: /var/log/nginx/
# 日志目录被监控的最大深度,为0监控当前目录下的文件
MaxDepth: 0
# 日志文件名匹配
FilePattern: "*.log"
# 监控容器内日志文件需要设置为 true
ContainerFile: true
processors:
- Type: processor_log_to_prom_metric
PromPort: ":9499"
- Type: processor_wait_for_signal
ContentsRename:
"__tag__:_container_id_": "_container_id_"
"__tag__:__path__": "_source_"
flushers:
- Type: flusher_otlp
Logs:
# 服务端 vector 接收日志, 替换为真实服务端地址
Endpoint: apo-otel-collector-gateway-svc:4315

Docker 环境中故障现场日志采集配置

使用《传统服务器安装 OneAgent》用户,根据被监控服务形态使用本章节配置故障现场日志采集。

  1. 在 OneAgent ilogtail 配置目录apo-one-agent-compose/config/apo-ilogtail,添加新的配置文件 <your-file-name>.yaml
  2. 参考章节中的配置模版,将内容保存至<your-file-name>.yaml
  3. 重启 OneAgent

1. 采集 Docker 标准输出配置模版

适用于采集传统服务器中的 Docker 容器标准输出。容器标准输出使用 service_docker_stdout 插件,参考文档

enable: true
inputs:
# 日志采集插件,根据需要自行调整
- Type: service_docker_stdout
# 多行日志合并
BeginLineCheckLength: 10
BeginLineRegex: "\\d+.*"
processors:
- Type: processor_log_to_prom_metric
PromPort: ":9499"
- Type: processor_wait_for_signal
ContentsRename:
"__tag__:_container_id_": "_container_id_"
"__tag__:__path__": "_source_"
flushers:
- Type: flusher_otlp
Logs:
# 服务端 vector 接收日志, 替换为真实服务端地址
Endpoint: apo-otel-collector-gateway-svc:4315

2. 采集 Docker 容器日志文件配置模版

采集文本日志使用 file_log 插件,参考文档

注意

指定日志目录被监控的最大深度尽量不要过大,否则会超出 ilogtail 监控的文件数量,导致采集失败。可针对不同采集路径,添加不同的配置文件流水线。

enable: true
inputs:
# 文本日志采集插件,根据需要自行调整
- Type: file_log
# 日志目录路径
LogPath: /var/log/nginx/
# 日志目录被监控的最大深度,为0监控当前目录下的文件
MaxDepth: 0
# 日志文件名匹配
FilePattern: "*.log"
# 监控容器内日志文件需要设置为 true
ContainerFile: true
processors:
- Type: processor_log_to_prom_metric
PromPort: ":9499"
- Type: processor_wait_for_signal
ContentsRename:
"__tag__:_container_id_": "_container_id_"
"__tag__:__path__": "_source_"
flushers:
- Type: flusher_otlp
Logs:
# 服务端 vector 接收日志,替换为真实的服务端地址
Endpoint: apo-otel-collector-gateway-svc:4315

传统服务器环境中故障现场日志采集配置

使用《传统服务器安装 OneAgent》用户,根据被监控服务形态使用本章节配置故障现场日志采集。

  1. 在 OneAgent ilogtail 配置目录apo-one-agent-compose/config/apo-ilogtail,添加新的配置文件 <your-file-name>.yaml
  2. 参考章节中的配置模版,将内容保存至<your-file-name>.yaml
  3. 重启 OneAgent

1. 采集宿主机路径中的日志文件配置模版

适用于传统服务将日志文件保存至宿主机路径下。采集文本日志使用 file_log 插件,参考文档

注意

指定日志目录被监控的最大深度尽量不要过大,否则会超出 ilogtail 监控的文件数量,导致采集失败。可针对不同采集路径,添加不同的配置文件流水线。

enable: true
inputs:
# 文本日志采集插件,根据需要自行调整
- Type: file_log
# 日志文件在ilogtail进程所在容器下的路径
# 默认将宿主机目录挂载到容器内的/logtail_host下
# 因此在宿主机路径前添加 /logtail_host
LogPath: /logtail_host/home/
# 采集文本日志的文件名,支持通配符
# 支持多层目录匹配,即指定目录(包含所有层级的目录)下所有符合条件的文件都会被查找到。
# 可以通过MaxDepth决定查询多少层
FilePattern: "*.log"
# 日志目录被监控的最大深度
# 例如,最大深度为2时, 即使都满足filePattern
# 将只采集 $LogPath/xx/xx/test.log
# 不采集 $LogPath/xx/xx/xx/test.log 的日志
MaxDepth: 4
processors:
# 关联应用程序的pid
- Type: processor_log_to_prom_metric
PromPort: ":9499"
- Type: processor_path_to_pid
- Type: processor_wait_for_signal
ContentsRename:
"__tag__:_container_id_": "_container_id_"
"__tag__:__path__": "_source_"
flushers:
- Type: flusher_otlp
Logs:
# 服务端 vector 接收日志, 替换为真实服务端地址
Endpoint: apo-otel-collector-gateway-svc:4315